@echo off
rem YanXue AI Go 项目启动脚本 (Windows)

echo 🚀 启动 YanXue AI Go 微服务平台...

rem 检查环境变量文件
if not exist .env (
    echo 📋 .env 文件不存在，从模板创建...
    copy .env.example .env
    echo ✅ 已创建 .env 文件，请根据需要修改配置
)

rem 检查Go版本
echo 🔍 检查Go版本...
go version

rem 检查依赖
echo 📦 检查Go模块依赖...
go mod tidy

rem 创建必要的目录
echo 📁 创建必要的目录...
if not exist uploads mkdir uploads
if not exist logs mkdir logs

rem 根据参数选择启动模式
if "%1"=="gateway" (
    echo 🌐 启动API网关服务...
    cd services\gateway\cmd && go run main.go
    goto end
)

if "%1"=="agent" (
    echo 🤖 启动Agent服务...
    cd services\agent\cmd && go run main.go
    goto end
)

if "%1"=="mcp" (
    echo 🔗 启动MCP服务...
    cd services\mcp\cmd && go run main.go
    goto end
)

if "%1"=="rag" (
    echo 📚 启动RAG服务...
    cd services\rag\cmd && go run main.go
    goto end
)

if "%1"=="all" (
    echo 🚀 启动所有服务...
    echo 请使用 Docker Compose 或分别在不同终端启动各个服务
    echo 使用方法：
    echo   start.bat gateway  # 启动网关服务
    echo   start.bat agent    # 启动Agent服务
    echo   start.bat mcp      # 启动MCP服务
    echo   start.bat rag      # 启动RAG服务
    goto end
)

if "%1"=="build" (
    echo 🔨 构建所有服务...
    make build
    goto end
)

if "%1"=="test" (
    echo 🧪 运行测试...
    go test -v ./...
    goto end
)

if "%1"=="dev-setup" (
    echo ⚙️ 设置开发环境...
    make dev-setup
    goto end
)

rem 显示帮助信息
echo 使用方法: %0 {gateway^|agent^|mcp^|rag^|all^|build^|test^|dev-setup}
echo.
echo 可用命令:
echo   gateway   - 启动API网关服务 ^(端口: 8080^)
echo   agent     - 启动Agent服务 ^(端口: 8081^)
echo   mcp       - 启动MCP服务 ^(端口: 8082^)
echo   rag       - 启动RAG服务 ^(端口: 8083^)
echo   all       - 显示如何启动所有服务
echo   build     - 构建所有服务
echo   test      - 运行测试
echo   dev-setup - 设置开发环境
echo.
echo 示例:
echo   %0 gateway    # 启动网关服务
echo   %0 build      # 构建项目
echo   %0 dev-setup  # 设置开发环境

:end
echo ✅ 完成!